/**
 * 事件总线函数
 * @type {{}}
 */
// const listeners = {}
//
// export default {
//   /**
//    *为监听事件添加触发时执行的函数
//    * @param eventName 事件名称
//    * @param handler 事件函数
//    */
//   $on (eventName, handler) {
//     if (!listeners[eventName]) {
//       listeners[eventName] = new Set()
//     }
//     listeners[eventName].add(handler)
//   },
//   /**
//    *为监听事件删除执行的函数
//    * @param eventName 事件名称
//    * @param handler 事件函数
//    */
//   $off (eventName, handler) {
//     if (!listeners[eventName]) {
//       return
//     }
//     listeners[eventName].delete(handler)
//   },
//   /**
//    * 触发这个事件要执行的函数
//    * @param eventName
//    * @param args//执行函数所传递的参数
//    */
//   $emit (eventName, ...args) {
//     if (!listeners[eventName]) {
//       return
//     }
//     for (const handler of listeners[eventName]) {
//       handler(...args)
//     }
//   }
// }
// 也可以
/**
 * 事件总线函数
 * 事件名 mainScroll
 * 主区域滚动后触发
 * 参数
 * 滚动的dom元素，如果时undefined则表示dom元素已经注销了
 * 事件名 setMainScroll
 * 当需要设置主区域滚动条位置
 * 参数
 * 滚动高度
 * @type {{}}
 */
import Vue from 'vue'
const listener = new Vue({})
Vue.prototype.$bus = listener
export default listener
